package com.king.util;

import java.util.HashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 
 * 
 * 
 * @Description 
 *<p>
 *	说明：驼峰命名
 *</p>
 * @author WDY
 * @date 2019年9月16日 上午10:33:21
 *
 */
public class ToHumpNaming extends HashMap<String, Object>{

	private final static Pattern p = Pattern.compile("_[a-zA-Z]");

	private final static String rn = "rn";

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * 将_去掉，使用驼峰命名
	 */
	@Override
	public Object put(String key, Object value) {
		if (rn.equalsIgnoreCase(key)) {
			return value;
		}
		return super.put(toHump(key), value);
	}

	/**
	 * 下划线转驼峰
	 * 
	 * @param key
	 * @return
	 * @author king
	 * @date 2025年7月17日-17:26:43
	 */
	public static String toHump(String key) {
		key = key.toLowerCase();
		Matcher m = p.matcher(key);
		String s;
		while(m.find()) {
			s = m.group();
			key = key.replaceAll(s, s.substring(1).toUpperCase());
		}
		return key;
	}
}
